package Thread;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 86131
 * Date: 2024-03-24
 * Time: 12:29
 */
class MyThread extends Thread{
    //run只是定义出来的,没有真正去调用
    //run不是start调用的!! 是start创建出来的线程,线程里调用的
    @Override
    public void run() {
        //这里写的代码,就是线程要完成的工作
        while(true) {
            System.out.println("hello thread");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
}

//多个线程的调度顺序,是无序的,在操作系统内部也称为"抢占式执行"
public class Demo1 {
    public static void main(String[] args) {
        Thread t = new MyThread();
        t.start();  //t线程执行

        //没有创建出新的线程,就是在主线程中执行上述 run 中的循环打印

        while(true) {
            System.out.println("hello main");  //主线程执行
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        }
    }
}
